過濾 JavaScript 物件
這裡我們需要建立一個函式,傳入一個物件和一個檢索字串,篩選以檢索字串開頭的物件鍵並返回物件
以下是實現此功能的程式碼 −
示例
const obj = { "PHY": "Physics", "MAT": "Mathematics", "BIO": "Biology", "COM": "Computer Science", "SST": "Social Studies", "SAN": "Sanskrit", "ENG": "English", "HIN": "Hindi", "ESP": "Spanish", "BST": "Business Studies", "ECO": "Economics", "CHE": "Chemistry", "HIS": "History" } const str = 'en'; const returnFilteredObject = (obj, str) => { const filteredObj = {}; Object.keys(obj).forEach(key => { if(key.substr(0, str.length).toLowerCase() === str.toLowerCase()){ filteredObj[key] = obj[key]; } }); return filteredObj; }; console.log(returnFilteredObject(obj, str));
程式碼說明 −
我們只需遍歷物件的每個鍵,如果它以作為引數接收的 str 開頭,則將其儲存在另一個物件中,否則我們繼續遍歷。
對於這個問題,我們遍歷了每個鍵並將所需鍵放入一個新物件中,但為了獲得更好的效能,我們只需從原始物件中刪除不需要的屬性即可,而不必建立一個新物件。
輸出
控制檯中的輸出為 −
{ ENG:"English" }
廣告